TypeScript Mapped Types
オブジェクトから、各要素の型を取り出した..状態?
in演算子を前置きしてオブジェクトに適用する
javascriptの for...of に似てる
Mapped typeは「オブジェクト型の各要素を別の型に変換する」という特性から、ちょうど配列のmapメソッドに近いものです。
こわくないTypeScript〜Mapped TypeもConditional Typeも使いこなせ〜 - uhyo/blog
function F<A extends string[]>(strArray: A):{[K in keyof A]: number;}{ return strArray.map(str=>parseInt(str) as any}
const n = F(["2","3","8"])
[2,3,8]
#TypeScript_keyof
参考:
TypeScript 2.1のkeyofとかMapped typesがアツい - Qiita
最初にここを読む
ジェネリクスでも mapped types を活用できる。
type Freeze<T> = { readonly [P in keyof T]: T[P] と、Tの持つ型を一括で readonlyに指定。
keyofの話. keyof T で、Tのプロパティ名の直和型(union)とできる。
mapped typeは、unionを プロパティ名に分配できる?と表現できる?
吾輩はバグを出す 〜Mapped typesでミス対策〜 - Qiita
ある型に追従した型を作りたい場合に... [P in HogeType]: ATypeという形で一括で型指定できる
TypeScriptでMapped Typesを使ってきれいなインターフェースを作る話 - Qiita